import { MockMethod } from "vite-plugin-mock";

// http://mockjs.com/examples.html#Object
const newsList = [
  {id:1,title:"新闻列表里的标题展示项111",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题111</h2><p>这是一个新闻详情，用来放详情部分代码的字段111</p>"},
  {id:2,title:"新闻列表里的标题展示项222",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题222</h2><p>这是一个新闻详情，用来放详情部分代码的字段222</p>"},
  {id:3,title:"新闻列表里的标题展示项333",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题333</h2><p>这是一个新闻详情，用来放详情部分代码的字段333</p>"},
  {id:4,title:"新闻列表里的标题展示项444",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题444</h2><p>这是一个新闻详情，用来放详情部分代码的字段444</p>"},
  {id:5,title:"新闻列表里的标题展示项555",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题555</h2><p>这是一个新闻详情，用来放详情部分代码的字段555</p>"},
  {id:6,title:"新闻列表里的标题展示项666",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题666</h2><p>这是一个新闻详情，用来放详情部分代码的字段666</p>"},
  {id:7,title:"新闻列表里的标题展示项777",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题777</h2><p>这是一个新闻详情，用来放详情部分代码的字段777</p>"},
  {id:8,title:"新闻列表里的标题展示项888",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题888</h2><p>这是一个新闻详情，用来放详情部分代码的字段888</p>"},
  {id:9,title:"新闻列表里的标题展示项999",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题999</h2><p>这是一个新闻详情，用来放详情部分代码的字段999</p>"},
  {id:10,title:"新闻列表里的标题展示项10",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题10</h2><p>这是一个新闻详情，用来放详情部分代码的字段10</p>"},
  {id:11,title:"新闻列表里的标题展示项11",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题11</h2><p>这是一个新闻详情，用来放详情部分代码的字段11</p>"},
  {id:12,title:"新闻列表里的标题展示项12",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题12</h2><p>这是一个新闻详情，用来放详情部分代码的字段12</p>"},
  {id:13,title:"新闻列表里的标题展示项13",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题13</h2><p>这是一个新闻详情，用来放详情部分代码的字段13</p>"},
  {id:14,title:"新闻列表里的标题展示项14",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题14</h2><p>这是一个新闻详情，用来放详情部分代码的字段14</p>"},
  {id:15,title:"新闻列表里的标题展示项15",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题15</h2><p>这是一个新闻详情，用来放详情部分代码的字段15</p>"},
  {id:16,title:"新闻列表里的标题展示项16",author:"admin",date:"2021-02-14 09:10:30",content:"<h2>我是一个标题16</h2><p>这是一个新闻详情，用来放详情部分代码的字段16</p>"},
]

// 判断accessToken是否有效，假定这里已获取到前端回传的accessToken
const isAccessTokenValid = ()=>{
  return true;
}
// 判断refreshToken是否有效，假定这里后端已经通过accessToken匹配到了refreshToken
const isRefreshTokenValid = ()=>{
  return true;
}
const getNewsDetail = (id)=>{
  newsList.forEach(function(item,index){
    if(item.id==id){
      return item;
    }
  })
}

export default [
  {
    url: "/getNewsList",
    method: "post",
    response: () => {
      if(isRefreshTokenValid()){
        if(isAccessTokenValid()){
          return {
            code: 200,
            status:true,
            info:"数据获取成功！",
            data: newsList
          };
        }else{
          return {
            code: 201004,
            status:false,
            info:"token已失效，请更新token！",
            data: []
          };
        }
      }else{
        return {
          code: 201002,
          status:false,
          info:"登录已超时，请重新登录！",
          data: []
        };
      }
    }
  },
  {
    url: "/getNewsDetail",
    method: "post",
    response: (id) => {
      if(isRefreshTokenValid()){
        if(isAccessTokenValid()){
          return {
            code: 200,
            status:true,
            info:"数据获取成功！",
            data: getNewsDetail(id)
          };
        }else{
          return {
            code: 201004,
            status:false,
            info:"token已失效，请更新token！",
            data: []
          };
        }
      }else{
        return {
          code: 201002,
          status:false,
          info:"登录已超时，请重新登录！",
          data: []
        };
      }
    }
  }
] as MockMethod[];